package com.mlnx.work.pojo.form;


import com.mlnx.work.enums.ProjectTypeEnum;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;

@Data
@ApiModel("创建项目层级表单参数类")
public class ProjectForm {

    @ApiModelProperty(value = "项目层级名称")
    @NotEmpty(message = "项目层级名称不能为空")
    private String dirName;

    @ApiModelProperty("根目录ID")
    @NotNull(message = "根目录ID不能为空")
    private Integer rootId;

    @ApiModelProperty("父层级ID")
    @NotNull(message = "父层级ID不能为空")
    private Integer parentId;

    @ApiModelProperty("创建人ID")
    @NotNull(message = "创建人ID不能为空")
    private Integer creatorId;

    @ApiModelProperty("负责人ID")
    @NotNull(message = "负责人ID不能为空")
    private Integer managerId;

    @ApiModelProperty("计划起始时间")
    @NotNull(message = "起始时间不能为空")
    private Long originStartTime;

    @ApiModelProperty("计划结束时间")
    @NotNull(message = "结束时间不能为空")
    private Long originEndTime;

    @ApiModelProperty("成果交付")
    @NotEmpty(message = "成果交付不能为空")
    private String achievement;

    @ApiModelProperty("里程碑")
    @NotNull(message = "里程碑不能为空")
    private Boolean milepost;

    @ApiModelProperty("标签")
    private String tags;

    @ApiModelProperty("项目类型")
    @NotNull(message = "项目类型不能为空")
    private ProjectTypeEnum type;

    @ApiModelProperty("项目成员ID集合")
    private Integer[] memberIds;
}
